package com.javarush.test.level08.lesson11.home06;

/* Вся семья в сборе
1. Создай класс Human с полями имя (String), пол (boolean), возраст (int), дети (ArrayList<Human>).
2. Создай объекты и заполни их так, чтобы получилось: два дедушки, две бабушки, отец, мать, трое детей.
3. Вывести все объекты Human на экран.
*/

import java.util.ArrayList;
import java.util.List;

public class Solution
{
    public static void main(String[] args)
    {
        Human hum7=new Human("Children1",false,10,null);
        Human hum8=new Human("Children2",false,14,null);
        Human hum9=new Human("Children3",false,17,null);

        Human hum1=new Human("Ded1",true,70,null);
        Human hum2=new Human("Ded2",true,72,null);
        Human hum3=new Human("Baba1",false,65,null);
        Human hum4=new Human("Baba2",false,68,null);
        Human hum5=new Human("Mother",false,40, new Human[]{hum7, hum8, hum9});
        Human hum6=new Human("Father",false,44,new Human[]{hum7, hum8, hum9});

        System.out.println(hum1);
        System.out.println(hum2);
        System.out.println(hum3);
        System.out.println(hum4);
        System.out.println(hum5);
        System.out.println(hum6);
        System.out.println(hum7);
        System.out.println(hum8);
        System.out.println(hum9);



    }

    public static class Human
    {
        String name;
        boolean sex;
        int age;
        List<Human> children=new ArrayList<Human>();

        public Human(String name, boolean sex, int age, Human[] children)
        {
            this.name=name;
            this.sex=sex;
            this.age=age;

            if (children!=null)
            {
                for (int i = 0; i < children.length; i++)
                    this.children.add(children[i]);
            }

        }

        public String toString()
        {
            String text = "";
            text += "Имя: " + this.name;
            text += ", пол: " + (this.sex ? "мужской" : "женский");
            text += ", возраст: " + this.age;

            int childCount = this.children.size();
            if (childCount > 0)
            {
                text += ", дети: "+this.children.get(0).name;

                for (int i = 1; i < childCount; i++)
                {
                    Human child = this.children.get(i);
                    text += ", "+child.name;
                }
            }

            return text;
        }
    }

}
